<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

        <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">                 
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">          
                <p:panel id="pnlPrincipal" header="#{i18n['evaluacion.desarrollo.panel']} #{evaluacionCompetenciaMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormDto" columns="8" cellpadding="4">                                       
                                                              
                       <h:outputLabel styleClass="label" value="#{i18n['evaluacion.desarrollo.persona']}"/>      
                       <p:autoComplete id="idAutocompMiemComite" value="#{evaluacionCompetenciaMBean.dto.personaDto}" completeMethod="#{applicationMBean.autoCompletarPersonaSgc}" forceSelection="true"
                                                    label="#{i18n['evaluacion.desarrollo.persona']}" readonly="#{sessionMBean.accion == 3}" maxResults="10" minQueryLength="3" queryDelay="1" 
                                                    converter="personaConvert" var="sn" itemLabel="#{sn.nombreCompleto}" itemValue="#{sn}" size="65" disabled="#{sessionMBean.accion == 2}"> 
                                        <p:column style="#{applicationMBean.estiloObligatorio}" > 
                                             #{sn.nombreCompleto} #{sn.numeroDocumento}
                                        </p:column> 
                           <p:ajax event="itemSelect" listener="#{evaluacionCompetenciaMBean.handleSelect}" update="txtPuesto txtUnidadOrganica, pnlAcciones, :msgs" />  
                       </p:autoComplete>         
                       
                        <h:outputLabel styleClass="label" value="#{i18n['evaluacion.desarrollo.puesto']}"/>     
                        <p:inputText id="txtPuesto" label="#{i18n['evaluacion.desarrollo.puesto']}" 
                                     value="#{evaluacionCompetenciaMBean.dto.puestoDto.descripcion}" disabled="true"
                                     styleClass="txtCampo" size="50">
                            <f:validateLongRange minimum="0" maximum="999999" />
                        </p:inputText>
                        
                        <h:outputLabel styleClass="label" value="#{i18n['evaluacion.desarrollo.unidad.organica']}"/>     
                        <p:inputText id="txtUnidadOrganica" label="#{i18n['evaluacion.desarrollo.unidad.organica']}" 
                                     value="#{evaluacionCompetenciaMBean.dto.unidadOrganicaDto.descripcion}" disabled="true"
                                     styleClass="txtCampo" size="50">
                            <f:validateLongRange minimum="0" maximum="999999" />
                        </p:inputText>
                                
                        <h:outputLabel styleClass="label" value="#{i18n['evaluacion.desarrollo.estado']}"/>                       
                        <p:selectOneMenu  value="#{evaluacionCompetenciaMBean.dto.estadoDto}" converter="parametroConvert" disabled="true">
                            <f:selectItems value="#{evaluacionCompetenciaMBean.listaEstados}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}"/>
                        </p:selectOneMenu>
                        <h:outputLabel styleClass="label" value="#{i18n['evaluacion.desarrollo.promedio']}" rendered="#{evaluacionCompetenciaMBean.dto.id != null}" />
                        <p:inputText id="txtPromedioFinal" label="#{i18n['evaluacion.desarrollo.promedio']}" style="background-color: #6CE26C"
                                     value="#{evaluacionCompetenciaMBean.dto.promedio}" readonly="true" rendered="#{evaluacionCompetenciaMBean.dto.id != null}"
                                     styleClass="txtCampo" size="3">
                        </p:inputText>
                        
                    </h:panelGrid>
                </p:panel>
                
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">                        
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.privilegiosOpciones['489']=='true' and sessionMBean.accion == 1}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');" disabled="#{evaluacionCompetenciaMBean.desabilitarBotonProcesar}"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{evaluacionCompetenciaMBean.guardar}">                                    
                        </p:commandButton>                                                            
                        <p:commandButton title="#{i18n['evaluacion.desarrollo.desempeno.boton.procesar.evaluacion']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-locked" rendered="#{sessionMBean.privilegiosOpciones['490']=='true' and sessionMBean.accion == 2 and evaluacionCompetenciaMBean.desabilitarArbol == true}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['evaluacion.desarrollo.desempeno.boton.procesar.evaluacion']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{evaluacionCompetenciaMBean.procesarEvaComp}">                                    
                        </p:commandButton>
                        <p:commandButton title="#{i18n['evaluacion.desarrollo.desempeno.boton.anular']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon  ui-icon-close" rendered="#{sessionMBean.privilegiosOpciones['491']=='true' and sessionMBean.accion == 2}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['evaluacion.desarrollo.desempeno.boton.anular']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{evaluacionCompetenciaMBean.anular}">                                    
                        </p:commandButton> 
                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true" 
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonAtras}"
                                         action="#{evaluacionCompetenciaMBean.retroceder}">                                    
                        </p:commandButton> 
                    </h:panelGrid>
                </p:panel>
                <p:spacer width="10" />
                <p:panel id="pnlTreetable" rendered="#{evaluacionCompetenciaMBean.dto.id != null}">
                    <h:panelGrid columns="10"> 
                        <p:contextMenu for="treeSingle" rendered="#{evaluacionCompetenciaMBean.desabilitarArbol}">  
                           <p:menuitem value="#{i18n['general.button.nuevo']}" actionListener="#{evaluacionCompetenciaArbolMBean.nuevoEvaluacionCompetenciaArbol}" icon="ui-icon-plusthick"  style="#{applicationMBean.estiloMenu}" 
                                       oncomplete="handleLoginRequest(xhr, status, args);"
                                       update=":frmDetalle:pgFormDtoArbolCom, :msgs"/>  
                           <p:menuitem value="#{i18n['general.button.editar']}"
                                       actionListener="#{evaluacionCompetenciaArbolMBean.editarEvaluacionCompetenciaArbol}" 
                                       oncomplete="handleLoginRequest(xhr, status, args);"
                                       update=":frmDetalle:pgFormDtoArbolCom, :msgs" 
                                icon="ui-icon-pencil" style="#{applicationMBean.estiloMenu}"/>   
                       </p:contextMenu>  

                        <p:treeTable id="treeSingle" value="#{evaluacionCompetenciaArbolMBean.evaluacionCompetenciaArbol}" var="dtoArbolEval"  
                                      selectionMode="single"   styleClass="estiloPanel"
                                      selection="#{evaluacionCompetenciaArbolMBean.selectedArbolEvaluacionCompetenciaArbol}">  

                                <f:facet name="header">   
                                   #{i18n['evaluacion.desarrollo.promedio']} : #{evaluacionCompetenciaMBean.dto.promedio} 
                                </f:facet>   
                                <p:column >  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.id']}  
                                    </f:facet>  
                                </p:column>
                                <p:column>  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.descripcion']}  
                                    </f:facet>  
                                    <h:outputText value="#{dtoArbolEval.descripcion}" style="#{dtoArbolEval.color}"/>  
                                </p:column>  

                                <p:column>  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.tipo']}  
                                    </f:facet>  
                                    <h:outputText value="#{dtoArbolEval.tipoTexto}" style="#{dtoArbolEval.color}"/>
                                </p:column>  

                            <p:column rendered="#{evaluacionCompetenciaMBean.desabilitarArbol}">  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.evaluacion']}  
                                    </f:facet>  
                                 
                                      <p:selectOneMenu value="#{dtoArbolEval.calificacion}"                                   
                                         style="#{applicationMBean.estiloObligatorio}"
                                         disabled="#{sessionMBean.accion == 3}" 
                                         rendered="#{dtoArbolEval.tipo=='D'}" >
                                        <f:selectItems value="#{evaluacionCompetenciaArbolMBean.siTipoEvaluacion}"/>
                                    </p:selectOneMenu>  
                                     
                                </p:column>
                                <p:column>  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.promedio']}  
                                    </f:facet>  
                                   <h:outputText value="#{dtoArbolEval.promedio}" style="#{dtoArbolEval.color}">
                                       <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                   </h:outputText>
                                </p:column> 
                            <p:column rendered="#{evaluacionCompetenciaMBean.desabilitarArbol}">  
                                    <f:facet name="header">  
                                        #{i18n['arbol.evaluacion.competencia.acciones']}  
                                    </f:facet>  
                                  
                                    <p:commandButton icon="ui-icon ui-icon-check" title="#{i18n['general.button.confirmar']}" 
                                                     rendered="#{sessionMBean.privilegiosOpciones['492']=='true' and dtoArbolEval.tipo=='D'}" ajax="true" disabled="#{sessionMBean.accion == 3}"
                                                     action="#{evaluacionCompetenciaArbolMBean.agregarEvaluacion}"
                                                     update=":frmPrincipal:pnlTreetable, :frmPrincipal:pnlPrincipal, :msgs">
                                        <f:setPropertyActionListener value="#{dtoArbolEval}" target="#{evaluacionCompetenciaArbolMBean.dto}" /> 
                                    </p:commandButton>
                                </p:column>  
                            </p:treeTable>  
                    </h:panelGrid>
                </p:panel>
                 <p:spacer width="5" />
            </h:form>
             <h:form onsubmit="return checkSubmit();"  id="frmDetalle">
                <p:dialog id="dialog" header="#{i18n['arbol.evaluacion.competencia.panel']}" widgetVar="carDialog" resizable="false"  
                          width="500" height="200" modal="true" closable="true">  
                    <p:messages id="msjDialog" showDetail="false" autoUpdate="true" />   
                    <ui:include src="/pages/desa/popup/popupArbolEvalCompetencia.xhtml" /> 
                </p:dialog>
                    <script type="text/javascript">  
                        function handleLoginRequest(xhr, status, args) {  
                            if(args.validationFailed || !args.loggedIn) { 
                                carDialog.show();  
                            } else {  
                                carDialog.hide();  
                            }  
                        }  
                    </script>  
            </h:form>
           
        </ui:define>
    </ui:composition>
</html>